/**
 * 统计分析
 * @constructor
 */
function Statistics() {
}

Statistics.init = function () {
    loadCities();
    getAuth();
    loadDistricts($("#search_City").val());
    getAuth();
    loadTowns($("#search_District").val());
    getAuth();

    //时间选择器
    laydate.render({
        elem: '#text_BeginDate',
        theme: 'molv',
        type: "date",
    });
    laydate.render({
        elem: '#text_EndDate',
        theme: 'molv',
        type: "date",
    });
    $('#tableList1').bootstrapTable({
        url: '/stat/findEnterprise',
        method: 'post',
        striped: true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        // contentType: "application/json;charset=utf-8",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle: true, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        //search : "true",
        uniqueId: "id",
        pageList: [5, 10, 20, 50, 100],//可选择单页记录数
        pageSize: "10",
        pagination: true, // 是否分页
        sortable: true, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search: false,
        showColumns: true,
        showRefresh: true,
        showExport: true,
        //得到查询的参数
        queryParams: function (params) {
            console.log("市级ID",$('#search_City').val())
            console.log("区县ID",$('#search_District').val())
            console.log("乡镇ID",$('#search_Township').val())
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //获取查询的对象，往下加入
                cityCode: $('#search_City').val(), // 请求时向服务端传递的参数
                districtCode: $('#search_District').val(),
                townCode: $('#search_Township').val(),
                beginDate: $('#text_BeginDate').val(),
                endDate: $('#text_EndDate').val()
            };
            return query_params;
        },
        columns: [
            {field: 'address', title: '区域', align: 'center'},
            {field: 'number', title: '企业数', align: 'center'},
        ]
    });
    $('#tableList11').bootstrapTable({
        url: '/stat/findEnterprise2',
        method: 'post',
        striped: true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        // contentType: "application/json;charset=utf-8",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle: true, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        //search : "true",
        uniqueId: "id",
        pageList: [5, 10, 20, 50, 100],//可选择单页记录数
        pageSize: "10",
        pagination: true, // 是否分页
        sortable: true, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search: false,
        showColumns: true,
        showRefresh: true,
        showExport: true,
        //得到查询的参数
        queryParams: function (params) {
            console.log("市级ID",$('#search_City').val())
            console.log("区县ID",$('#search_District').val())
            console.log("乡镇ID",$('#search_Township').val())
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //获取查询的对象，往下加入
                cityCode: $('#search_City').val(), // 请求时向服务端传递的参数
                districtCode: $('#search_District').val(),
                townCode: $('#search_Township').val(),
                beginDate: $('#text_BeginDate').val(),
                endDate: $('#text_EndDate').val()
            };
            return query_params;
        },
        columns: [
            {field: 'enterpriseName', title: '企业名称', align: 'center'},
            {field: 'legalPerson', title: '法人姓名', align: 'center',visible:false},
            {field: 'phone', title: '联系电话', align: 'center',visible:false},
            {field: 'animal', title: '饲养动物种类', align: 'center'},
            {field: 'pullAddress', title: '企业地址', align: 'center'},
            {field: 'createTime', title: '注册时间', align: 'center',visible:false},
        ]
    });
    $('#tableList2').bootstrapTable({
        url: '/stat/findLivestock',
        method: 'post',
        striped: true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        // contentType: "application/json;charset=utf-8",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle: true, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        //search : "true",
        uniqueId: "id",
        pageList: [5, 10, 20, 50, 100],//可选择单页记录数
        pageSize: "10",
        pagination: true, // 是否分页
        sortable: true, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search: false,
        showColumns: true,
        showRefresh: true,
        showExport: true,
        //得到查询的参数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //获取查询的对象，往下加入
                cityCode: $('#search_City').val(), // 请求时向服务端传递的参数
                districtCode: $('#search_District').val(),
                townCode: $('#search_Township').val(),
                beginDate: $('#text_BeginDate').val(),
                endDate: $('#text_EndDate').val()
            };
            return query_params;
        },
        columns: [
            {field: 'pigNumber', title: '猪存栏数', align: 'center'},
            {field: 'cattleNumber', title: '牛存栏数', align: 'center'},
            {field: 'sheepNumber', title: '羊存栏数', align: 'center'},
            {field: 'otherNumber', title: '其它牲畜存栏数', align: 'center'},
        ]
    });
    $('#tableList22').bootstrapTable({
        url: '/stat/findLivestock2',
        method: 'post',
        striped: true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        // contentType: "application/json;charset=utf-8",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle: true, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        //search : "true",
        uniqueId: "id",
        pageList: [5, 10, 20, 50, 100],//可选择单页记录数
        pageSize: "10",
        pagination: true, // 是否分页
        sortable: true, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search: false,
        showColumns: true,
        showRefresh: true,
        showExport: true,
        //得到查询的参数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //获取查询的对象，往下加入
                cityCode: $('#search_City').val(), // 请求时向服务端传递的参数
                districtCode: $('#search_District').val(),
                townCode: $('#search_Township').val(),
                beginDate: $('#text_BeginDate').val(),
                endDate: $('#text_EndDate').val()
            };
            return query_params;
        },
        columns: [
            {field: 'eName', title: '企业名称', align: 'center'},
            {field: 'pigNumber', title: '猪存栏数', align: 'center'},
            {field: 'cattleNumber', title: '牛存栏数', align: 'center'},
            {field: 'sheepNumber', title: '羊存栏数', align: 'center'},
            {field: 'otherNumber', title: '其它牲畜存栏数', align: 'center'},
        ]
    });
    $('#tableList3').bootstrapTable({
        url: '/stat/findPoultry',
        method: 'post',
        striped: true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        // contentType: "application/json;charset=utf-8",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle: true, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        //search : "true",
        uniqueId: "id",
        pageList: [5, 10, 20, 50, 100],//可选择单页记录数
        pageSize: "10",
        pagination: true, // 是否分页
        sortable: true, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search: false,
        showColumns: true,
        showRefresh: true,
        showExport: true,
        //得到查询的参数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //获取查询的对象，往下加入
                cityCode: $('#search_City').val(), // 请求时向服务端传递的参数
                districtCode: $('#search_District').val(),
                townCode: $('#search_Township').val(),
                beginDate: $('#text_BeginDate').val(),
                endDate: $('#text_EndDate').val()
            };
            return query_params;
        },
        columns: [
            {field: 'meatChickenNumber', title: '肉鸡存栏数', align: 'center'},
            {field: 'meatDuckNumber', title: '肉鸭存栏数', align: 'center'},
            {field: 'eggChickenNumber', title: '蛋鸡存栏数', align: 'center'},
            {field: 'eggDuckNumber', title: '蛋鸭存栏数', align: 'center'},
            {field: 'otherNumber', title: '其它家禽存栏数', align: 'center'},
        ]
    });
    $('#tableList33').bootstrapTable({
        url: '/stat/findPoultry2',
        method: 'post',
        striped: true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        // contentType: "application/json;charset=utf-8",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle: true, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        //search : "true",
        uniqueId: "id",
        pageList: [5, 10, 20, 50, 100],//可选择单页记录数
        pageSize: "10",
        pagination: true, // 是否分页
        sortable: true, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search: false,
        showColumns: true,
        showRefresh: true,
        showExport: true,
        //得到查询的参数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //获取查询的对象，往下加入
                cityCode: $('#search_City').val(), // 请求时向服务端传递的参数
                districtCode: $('#search_District').val(),
                townCode: $('#search_Township').val(),
                beginDate: $('#text_BeginDate').val(),
                endDate: $('#text_EndDate').val()
            };
            return query_params;
        },
        columns: [
            {field: 'eName', title: '企业名称', align: 'center'},
            {field: 'meatChickenNumber', title: '肉鸡存栏数', align: 'center'},
            {field: 'meatDuckNumber', title: '肉鸭存栏数', align: 'center'},
            {field: 'eggChickenNumber', title: '蛋鸡存栏数', align: 'center'},
            {field: 'eggDuckNumber', title: '蛋鸭存栏数', align: 'center'},
            {field: 'otherNumber', title: '其它家禽存栏数', align: 'center'},
        ]
    });
    $('#tableList4').bootstrapTable({
        url: '/stat/findQuarantine',
        method: 'post',
        striped: true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        // contentType: "application/json;charset=utf-8",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle: true, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        //search : "true",
        uniqueId: "id",
        pageList: [5, 10, 20, 50, 100],//可选择单页记录数
        pageSize: "10",
        pagination: true, // 是否分页
        sortable: true, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search: false,
        showColumns: true,
        showRefresh: true,
        showExport: true,
        //得到查询的参数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //获取查询的对象，往下加入
                cityCode: $('#search_City').val(), // 请求时向服务端传递的参数
                districtCode: $('#search_District').val(),
                townCode: $('#search_Township').val(),
                beginDate: $('#text_BeginDate').val(),
                endDate: $('#text_EndDate').val()
            };
            return query_params;
        },
        columns: [
            {field: 'numberA', title: '检疫销售A证数量', align: 'center'},
            {field: 'numberB', title: '检疫销售B证数量', align: 'center'},
        ]
    });
    $('#tableList44').bootstrapTable({
        url: '/stat/findQuarantine2',
        method: 'post',
        striped: true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        // contentType: "application/json;charset=utf-8",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle: true, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        //search : "true",
        uniqueId: "id",
        pageList: [5, 10, 20, 50, 100],//可选择单页记录数
        pageSize: "10",
        pagination: true, // 是否分页
        sortable: true, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search: false,
        showColumns: true,
        showRefresh: true,
        showExport: true,
        //得到查询的参数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //获取查询的对象，往下加入
                cityCode: $('#search_City').val(), // 请求时向服务端传递的参数
                districtCode: $('#search_District').val(),
                townCode: $('#search_Township').val(),
                beginDate: $('#text_BeginDate').val(),
                endDate: $('#text_EndDate').val()
            };
            return query_params;
        },
        columns: [
            {field: 'eName', title: '企业名称', align: 'center'},
            {field: 'numberA', title: '检疫销售A证数量', align: 'center'},
            {field: 'numberB', title: '检疫销售B证数量', align: 'center'},
        ]
    });
    $('#tableList5').bootstrapTable({
        url: '/stat/findHarmless',
        method: 'post',
        striped: true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        // contentType: "application/json;charset=utf-8",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle: true, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        //search : "true",
        uniqueId: "id",
        pageList: [5, 10, 20, 50, 100],//可选择单页记录数
        pageSize: "10",
        pagination: true, // 是否分页
        sortable: true, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search: false,
        showColumns: true,
        showRefresh: true,
        showExport: true,
        //得到查询的参数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //获取查询的对象，往下加入
                cityCode: $('#search_City').val(), // 请求时向服务端传递的参数
                districtCode: $('#search_District').val(),
                townCode: $('#search_Township').val(),
                beginDate: $('#text_BeginDate').val(),
                endDate: $('#text_EndDate').val()
            };
            return query_params;
        },
        columns: [
            {field: 'fireNumber', title: '焚烧处理', align: 'center'},
            {field: 'buryNumber', title: '深埋处理', align: 'center'},
            {field: 'chemicalNumber', title: '化制处理', align: 'center'},
            {field: 'harmlessNumber', title: '集中无害化处理', align: 'center'},
        ]
    });
    $('#tableList55').bootstrapTable({
        url: '/stat/findHarmless2',
        method: 'post',
        striped: true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        // contentType: "application/json;charset=utf-8",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle: true, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        //search : "true",
        uniqueId: "id",
        pageList: [5, 10, 20, 50, 100],//可选择单页记录数
        pageSize: "10",
        pagination: true, // 是否分页
        sortable: true, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search: false,
        showColumns: true,
        showRefresh: true,
        showExport: true,
        //得到查询的参数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //获取查询的对象，往下加入
                cityCode: $('#search_City').val(), // 请求时向服务端传递的参数
                districtCode: $('#search_District').val(),
                townCode: $('#search_Township').val(),
                beginDate: $('#text_BeginDate').val(),
                endDate: $('#text_EndDate').val()
            };
            return query_params;
        },
        columns: [
            {field: 'eName', title: '企业名称', align: 'center'},
            {field: 'fireNumber', title: '焚烧处理', align: 'center'},
            {field: 'buryNumber', title: '深埋处理', align: 'center'},
            {field: 'chemicalNumber', title: '化制处理', align: 'center'},
            {field: 'harmlessNumber', title: '集中无害化处理', align: 'center'},
        ]
    });
}

//查询方法****************************
function doSearch() {
    $("#tableList1").bootstrapTable("refreshOptions", {pageNumber: 1});
    $("#tableList2").bootstrapTable("refreshOptions", {pageNumber: 1});
    $("#tableList3").bootstrapTable("refreshOptions", {pageNumber: 1});
    $("#tableList4").bootstrapTable("refreshOptions", {pageNumber: 1});
    $("#tableList5").bootstrapTable("refreshOptions", {pageNumber: 1});
    $("#tableList11").bootstrapTable("refreshOptions", {pageNumber: 1});
    $("#tableList22").bootstrapTable("refreshOptions", {pageNumber: 1});
    $("#tableList33").bootstrapTable("refreshOptions", {pageNumber: 1});
    $("#tableList44").bootstrapTable("refreshOptions", {pageNumber: 1});
    $("#tableList55").bootstrapTable("refreshOptions", {pageNumber: 1});
}

//城市三级联动**************************
function loadCities() {
    $.ajax({
        url: "/city/getAllCity",
        type: "get",
        contentType: "application/json",
        dataType: "json",
        async:false,
        success: function (data) {
            initCitySelect(data);
            if (data[0]) {
                loadDistricts(data[0].city_id)
            }
        }
    });
}

function loadDistricts(city_id) {
    console.log("值改变事件")
    $.ajax({
        url: "/district/getDistrictByCity?city_id=" + city_id,
        type: "get",
        contentType: "application/json",
        dataType: "json",
        async:false,
        success: function (data) {
            initDistrictSelect(data);
            if (data[0]) {
                loadTowns(data[0].district_id)
            }
        }
    });
}

function loadTowns(district_id) {
    $.ajax({
        url: "/town/getTownByDistrict?district_id="+district_id,
        type: "get",
        contentType: "application/json",
        dataType: "json",
        async:false,
        success: function (data) {
            initTownSelect(data);
        }
    });
}

function initCitySelect(data) {
    $('#search_City').empty();
    $.each(data, function (index, item) {
        $('#search_City').append("<option  value='" + item.city_id + "'>" + item.city_name + "</option>");
    })
}

function initDistrictSelect(data) {
    console.log("data0",data)
    $('#search_District').empty();
    $('#search_District').append("<option value=''>所有区县</option>");
    $.each(data, function (index, item) {
        $('#search_District').append("<option value='" + item.district_id + "'>" + item.district_name + "</option>");
    })
}

function initTownSelect(data) {
    $('#search_Township').empty();
    $('#search_Township').append("<option value=''>所有乡镇</option>");
    $.each(data, function (index, item) {
        $('#search_Township').append("<option value='" + item.town_id + "'>" + item.town__name + "</option>");
    })
}

/**
 * 权限控制
 */
function getAuth() {
    $.ajax({
        url: "/UserManage/getAuth",
        type: "post",
        contentType: "application/json",
        dataType: "json",
        async:false,
        success: function (data) {
            if (data.code === "200") {
                //判断用户权限
                console.log('hhhhh', data.data);
                if (data.data.authType == 1) { // 地市权限
                    $("#search_City").val(data.data.authCity);
                    $("#search_City").attr("disabled", 'disabled')
                } else if (data.data.authType == 2) { //区县权限
                    $("#search_City").val(data.data.authCity);
                    $("#search_City").attr("disabled", 'disabled')
                    $("#search_District").val(data.data.authDistrict);
                    $("#search_District").attr("disabled", 'disabled')
                } else if (data.data.authType == 3) { //乡镇权限
                    $("#search_City").val(data.data.authCity);
                    $("#search_City").attr("disabled", 'disabled')
                    $("#search_District").val(data.data.authDistrict);
                    $("#search_District").attr("disabled", 'disabled')
                    $("#search_Township").val(data.data.authTown);
                    $("#search_Township").attr("disabled", 'disabled')
                }
            }
        }
    });
}


